# !/usr/bin python3                                 
# encoding: utf-8 -*-   
# @file     : run.py.py                       
# @author   : 沙陌 Matongxue_2
# @Time     : 2022-09-15 20:23
# @Copyright: 北京码同学
import os
import sys

import pytest

from common.file_load import load_yaml_file, write_yaml

if __name__ == '__main__':
    args = sys.argv  # 表示获取终端执行时传递的外来参数
    print(args)
    # 如果终端没传环境名称，那么我们默认执行测试环境
    env_file = '/config/env_test3.yml'
    if len(args) > 1:
        env_name = args[1]
        env_file = f'/config/env_{env_name}.yml'
        del args[1]  # 删除掉传进来的环境名称，否则会被当成pytest.main()的参数，那么就会报错

    # 读取指定环境的配置文件
    env_info = load_yaml_file(env_file)
    # 依次写入到各个配置文件中
    write_yaml('/config/common.yml', env_info['common'])
    write_yaml('/config/http.yml', env_info['http'])
    write_yaml('/config/db.yml', env_info['db'])
    # write_yaml('/config/redis.yml', env_info['redis'])
    # pytest.main会自动扫描当前目录下的pytest.ini配置文件中所定义的东西
    # 根据配置文件的指示，来执行测试
    pytest.main()
    os.system('allure generate ./report/data -o ./report/html --clean')
    # 这是远程仓库手动改的
    #  python run.py test3